export interface ResourceItem {
    id: number // 资源id
    type: string // 资源类型
    title: string // 资源标题
    url: string // 资源url
    duration: number // 资源时长
    allow_fast_forward: number // 是否允许快进
    sort_order: number // 排序
    actual_score: string // 当前分
    pass_score: string // 及格分
    total_score: string // 总分
    watching_info?: {
        completed_time: string
        completion_percentage: number
        is_completed: boolean
        last_position: number
        start_time: string
        watch_duration: number
    }
}

export interface VideoInfo {
    id: number
    unit_id: number // 单元id
    title: string // 视频标题
    description: string // 视频描述
    video_url: string // 视频url
    panopto_video_id: number // 视频id
    duration: number // 视频时长
    allow_fast_forward: number // 是否允许快进 0: 不允许 1: 允许
    sort_order: number
    // 进度
    progress: {
        id: number
        student_id: number // 学生id
        video_id: number // 视频id
        unit_id: number // 单元id
        course_id: number // 课程id
        start_time: null // 开始时间
        last_position: number // 上次观看位置（秒）
        watch_duration: number // 累计观看时长（秒）
        completion_percentage: string // 完成百分比
        is_completed: number // 是否完成
        completed_time: null // 完成时间
        creator_id: number
        created_at: string
        updated_at: string
    }
    should_watch_video_id: number | null
    can_watch: boolean
    watch_error_message: string

    panopto_video_embed_code: string
}

export interface AuthInfo {
    authorization_url: string
    authorized: boolean
}

export interface FolderInfo {
    id: number
    unit_id: number
    title: string
    description: string
    resource_type: string
    tree_id: number
    sort_order: number
    file_url: string
    file_type: string // 'image' | 'video' | 'audio' | 'pdf' | 'word' | 'excel' | 'ppt' | 'txt' | 'zip' | 'other'
    children?: FolderInfo[]
    is_required: boolean
}

export interface UploadItem {
    file_type: string
    original_name: string
    path: string
    storage_driver: string
    title: string
    type: string
    url: string
    duration?: number
}
